package com.huayi.datagovernance.utils.date;

import cn.hutool.core.date.ChineseDate;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Console;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * 农历日期-ChineseDate
 *
 * 农历日期，提供了生肖、天干地支、传统节日等方法。
 * @author wuch
 * @version 1.0
 * @date 2021/4/13 13:55
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class ChineseDateDemo {
    /**
     * ChineseDate表示了农历的对象
     * 构建此对象既可以使用公历的日期，也可以使用农历的日期。
     * 最大支持到2055年
     */
    @Test
    public void demo1(){
        //通过农历构建
        ChineseDate nongLi = new ChineseDate(1992,12,14);
        Console.log(nongLi);//壬申猴年 闰腊月十四
        //通过公历构建
        ChineseDate gongLi = new ChineseDate(DateUtil.parseDate("1993-01-06"));
        Console.log(gongLi);//壬申猴年 腊月十四
    }

    /**
     * 常用方法
     */
    @Test
    public void demo2(){
        //通过公历构建
        ChineseDate gongLi = new ChineseDate(DateUtil.parseDate("1995-04-19"));
        //获得农历日
        Console.log(gongLi.	getChineseDay());//二十
        //获得农历月份（中文，例如二月，十二月，或者润一月）
        Console.log(gongLi.getChineseMonth());//三月
        //获得农历年份
        Console.log(gongLi.getChineseYear());//1995
        //获得年份生肖
        Console.log(gongLi.getChineseZodiac());//猪
        //获得节日
        Console.log(gongLi.getFestivals());//情人节

    }
}
